1. Field
Example embodiments relate to a random number generator, and more particularly, to a random number generator capable of increasing its performance without an increase in a circuit area and/or circuit manufacturing costs.
2. Description of the Related Art
As information and communication based technologies have developed, encryption and decryption have become important as a way to protect the confidentiality of information. Random numbers are used in many applications such as the generation of secret keys for security systems. Accordingly, systems in which security is important use random number generators. Random number generators necessarily generate unpredictable random numbers.
In systems in which security is important, random numbers are not permitted to have periodicity or be regular. In more detail, security systems need to generate perfect random numbers that are unpredictable and have no periodicity. True random numbers (TRNs) are generated from physical noise sources, are unpredictable, and have no periodicity.
In order to generate TRNs, conventional random number generators have used thermal noise or shot noise as a noise source. Alternatively, conventional random number generators have generated clock signals having irregular periods using ring oscillators.
FIG. 1A is a diagram of a related art random number generator. FIG. 1B is a diagram of signals that are input into and output from the related art random number generator of FIG. 1A. The related art random number generator will now be described with reference to FIGS. 1A and 1B.
Referring to FIG. 1A, a related art random number generator 100 may comprise a signal terminal 103 that receives a signal clock S_in, a clock terminal 105 that receives a clock signal S_CLK, and a sampling block 101.
The signal clock S_in that is input into the signal terminal 103 may be a high frequency clock signal may have a regular and short period.
The clock signal S_CLK that is input into the clock terminal 105 may be a low frequency clock signal has irregular period and duty cycle. The clock signal S_CLK may have a period longer than the signal clock S_in.
The sampling block 101 may be synchronized with the clock signal S_CLK and sample the signal clock S_in in accordance with a rising edge of the clock signal S_CLK.
Referring to FIG. 1B, the signal clock S_in 110 may be a signal having regular periods each having the same duty cycle. The clock signal S_CLK 115 may be a signal having irregular periods, some or all having a different duty cycle.
The sampling block 101 may perform a sampling operation and output a random number signal S_RN 120.
The random number signal S_RN 120 may sample a value of the signal clock S_in 110 every rising edge of the clock signal S_CLK 115 and generate the random number signal S_RN. Therefore, the sampling block 101 may sample the value of the signal clock S_in at a point a, outputs the value “1”, and generate the value “0” at a point b, the value “0” at a point c, the value “0” at a point d, and the value “1” at a point f.
As described above, the clock signal S_CLK must have irregular period and duty cycle. A related art random number generator may use a ring oscillator (RO) in order to generate the clock signal S_CLK.
The RO performs an oscillation operation and outputs an oscillation signal having a jitter in order to produce an irregular period.
The oscillation signal that is output from the RO will now be described with reference to FIG. 2.
FIG. 2 is a waveform diagram of the generation of an oscillation signal. Referring to FIG. 2, an RO (not shown) performs an inversion operation for inverting a logic level at an initial duration <X>, so that a sine waveform signal having a predetermined or given period Tosc is output. A signal 210 that is output at the duration <X> may be a stabilized oscillation signal.
The RO continuously performs an oscillation operation. After a period of time of a duration <Y> further passes, the RO outputs an oscillation signal having jitter. Jitter is a shake of a signal on a temporal axis (a coordinate at an axis x) due to accumulated noise.
Therefore, a curve signal may shake and its real value lies between 215 and 220 at a duration <Z>. So, at the duration <Z>, a period and its duty cycle are irregular.
The related art random number generator must perform a sampling operation according to a signal having an irregular signal in order to generate a true random number. The signal having the irregular signal must be generated after passing the durations <X> and <Y>. Therefore, the related art random number generator cannot output a random number immediately after the RO starts its operation but after at least a period of time of the durations <X> and <Y> elapses.
The related art random number generator may output random number data after an oscillation signal having the jitter is generated, which reduces throughput.
The related art random number generator additionally may contain a circuit for generating and providing noise in order to artificially provide physical noise and generate the oscillation signal having jitter. This circuit may increase an area and/or manufacturing cost of the conventional random number generator.